Filled in some basic code... will split into header files later