overhaul + brief functionality