Added some more types, made constants generic