Finished the basic pieces. Now to test...