better configuration structure