basic typing functionality implemented