ugly yet functional...