this might grow the stack size, should be reimplemented.