basic structure for more functions
include filtering and selection