works via code! added am/pm, refined live previews