be more strict with integer types
make whitespace consistent