this is bad. but it works...