refactor done, implementing features