Everything implemented except function for showtype