Added optional styles parameter