needs polish

Added viewport scaling