Finally a nice organisation of code...