added minimal interface