ok. merge this and edit yourself, plz :(