Make synchronization service extendable, update userprojects model

better use query(QueryRequest) method