different try to solve dependency cycle