add 3 withdraw implementations