Redesign and cleanup