Most of the functionality of the 2nd prototype works