Updated with some usage :D