-adapte interfaces
-add comments