Which solution meets these requirements?