solve #42
move factorial for reuse
solve #43
solved #44
make is<type> methods more usefull, and added a few more
solved #45