Functional spec updates, fixed mismatched push/pop
Readded func spec