added extra operator() for needed functionality
simplified integer type declarations
test suite