add first implementation of unit and functionnal tests