added tables and the rest of the type stuff