Interface and main modified