refactor basics