still needs a public Aether class