now works like a real program