Fleshed out implementations a bit further