finished moving scalar to impl