Implemented certain functions, still working on ascend()