initialization and structure
add ssl support