commented/cleaned up