Fleshed out some implementations