ops all listed, now need implementation