tests passing for most implemented functions