Add a main.go for dependency resolution
Add interface selection