working in progress
add class interfaces