added a unch of stuff