refactor + fix