cleaned up model + general cleanup