wip add type mapper iface

TODO: documentations