Proper modules. Closes #6