Added spec and few other modifications.