Created for the purpose of couse project