new Interfaces

1. Add pass by reference
2. Add a new server