made it use double return values