todo: fix stack