Flashlight: initial commit and basically working
Added comments for clarity