Reorganisation of sources
Unit tests added