added keywords, updated functions