Finished cleaning up warnings and properly coding to interfaces