partially simplified operation api, #21.