add notes
add extend function
improv extends function
add notes