add [type] now implmented