Redesign. Fixes #4