adding some interfaces and added alert class