Added a skip parameter and changed up some nasty logic. More
nasty logic changes incoming as well.