add choosing functionality