Initial commit with all the mandatory features