Many fixes and redesigns

Closes #116 #156 #118