Separated everything into neat packages.