added workable codes