compiles, now to fix pop()