version 3

*Almost completed