A lot of stuff changed for #1 #2