fix circular dependency and add some methods for scents