Change interface and new functions