completed the basic part