added list of desing patters