Changed headers and implementation for ease of use