Finished coding the framework. It probably doesn't work yet