refactor and add buttons to requirements