Code complete

Still need to fix documentation inline