refactored further