added first interfaces and classes