finished building a generic stack but havent tested it yet