updated to include new classes and added socaddr_in structs