refactored bottom