cleaned up presentation layer