added functional interface annotation. added config module