refactored to make myself more human-like