test pass.. to be refactored