added all annoying copy and paste stuff