improve implementation of the script engine
export surface items cache to lua