seperate is stupid
less warning