add rest of ass1 work