added option to provide user-defined cluster
more todo