I don't really like this circular import