Revert "Completes stack, all tests pass"

This reverts commit ee840270785f8b7979c4673c0d5abf4572f9b2e9.
Revert "Revert "Completes stack, all tests pass""

This reverts commit 4b37713ed93e7a4a07e884ff3773df12f4c2a56f.
Revert "Completes stack, all tests pass"

This reverts commit ee840270785f8b7979c4673c0d5abf4572f9b2e9.