improved tests
improved composition