Full implementation of server requieremnts