created server layer