fleshed out todo somewhat