new funcs and design