add description
add agent factory
add image factory