implemented all relevant numeric types