stack facade implementation