updating and syncing
synced with updates
merged with checkbox and hasan's code
updating from merge