add connection.cpp unfinished