add some database features and started with test driven development