Add suggested improvements section
Refactor code using Move-type
add type declaration to inc
Remove obsolete Errors, move important functions to top of namespace
properly handle promotion