Work in progress

check back later.