Cabal project management and test

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>