added more ar funtions, and spec for the entire class
added structure
changed formatting and fixed typos