changed method signature and added shadow effects with bezierPath for performance