more funtions and specs