refactor and add custom scripts support