pretty close to being wrapped up, just need to find seg fault