pull laser stuff into its own class