used some more tricks from jonas