Implement wakelock acquire/release

    also implement some todo