Added more functionality and fixed some syntactical sugar coating