Some problem with circular import, will try to refactor :)