add constants
add interface to base lib and improve handling of empty lists
add read/write methods for interfaces