separated stack_ADT from tests