classes made as explained