added socket controller