not ideal, could probably do that in a seperate pull request