editing
add core type abstracts
todo