adding new program functionality