don't need dynamic lib.