updated compile
update detect