added new design and cleanup