initial widget framework