implemented types

designed in lab mon10.13
related to #11
implemented types

developed in lab mon10.13
related to #12