refactored, more functionality