fleshed out classes more