refactor, add open button