refactor
refactor
support for short and unsigned types