Finished Product!

Last 2 pull requests are encompassed in this one. Should have all functionality.