added source code + screenshots