Rolled back to func instead of interface