ver 2.0 with new ui & function