blerrrrgh so much stupid design