#1 user can also set top when onTop is true