first implemetation of lamp