enhance interface, still WIP ...