added attribute api & removed event emitter (for now)