refactor get set though not working