Added button API

I think i will rename it soon but for now it is ok