Added documentation, long, and some new functions