add widget part, not compile yet