refactor 'show' to 'select' because it just makes more sense
document methods + events