add less to 3rdparty
more more work -- dep inject, resource mgr