add overlay(element) support
remove silly inherit dep