Clean up design a bit

resolves #2