yashsingh1/xdaforums huggingface dataset:
[Galaxy Note 4 Unified Development] twistedumbrella:
It froze the whole thing. Couldn't tell if it helped.

As for binaries, the busybox in my ramdisk is homemade lol
[Galaxy Note 4 Unified Development] friedrich420:
Im sorry for taking the discussion to another direction but any hints on how to make the clock not jump back to 2.8?

Or even boot at 2.6? (i edited the init.rc to make it boot at 2.6 but nothing)

I tried both with limiter enabled and without... (@twistedumbrella i pretty much followed your logic...)

On the Note 3 i had to make some serious changes to cpufreq.c to make them stick as i would want, but i cant "back-port" it no matter what changes i make.. i get a crapload of errors.. I also did the edit to make it stop overriding user's choices like kt here: https://github.com/ktoonsez/KTNOTE4/commit/95c083c1fdaad3437a67ff7a5512cf1403f6d3dc

but nothing...

wow... i just noticed ive been fighting with this for the past 4 hours.. gsus get a life dude... :cool:

EDIT: forgot to mention i have not implemented hardlimit like you did my man..
[Galaxy Note 4 Unified Development] twistedumbrella:
Ironic timing...
[Galaxy Note 4 Unified Development] ktoonsez:
LOL, so you got that custom init binary done yet????? :good: :highfive::silly: :eek: :cool:
[Galaxy Note 4 Unified Development] twistedumbrella:
Shield tablet just arrived and my app was obscenely outdated. Priorities will get ya...
[Galaxy Note 4 Unified Development] friedrich420:
Oh noooo!! Note 4 my man note 4.. ;)

I followed your suggestion my man but unfortunately values dont stick on reboot or antutu. . On antutu i've seen an improvement in holding the user selected max freq for longer but it eventually spikes back to 2.8.. On reboot unfortunately the same..
[Galaxy Note 4 Unified Development] ktoonsez:
Ya that thermald and mpdecision being there usual dumb-ass selves and not reading the scaling min and max but the cpuinfo min and max. As we had discussed yesterday I made that extra scaling max, not optimal solution but was for me since I have my own app.
[Galaxy Note 4 Unified Development] friedrich420:
Yep that seemed to hold it..

its a pity bc the phone is flying on 2.8 but its a problem that it will go back to 2.8 when you reboot.. The good thing is that from like 6 hours ago when i began until now its not changing frequencies no matter what im doing (except antutu). In my earlier attempts it would go back to 2.8 after some time in deep sleep or trying tomultitask as much as possible to force it go to its max...
[Galaxy Note 4 Unified Development] twistedumbrella:
Oh the Note 4 is still one of the phones I carry, but the Shield tablet is for working on reicast. I also have an iPhone for working on White Hat and calls (much smaller in the ear). Kernels are the hobby, but that stuff is more "work" (although still more of a hobby)
[Galaxy Note 4 Unified Development] friedrich420:
thats the best my man trying to combine your hobby into actual work or making your work your hobby...

mine is so far away from this its kind of weird.. but it def keeps work and hobby apart lol

i need to buy you that insane coffee you are drinking at some point ;)

oh btw at least for me at this point your governor is #1

I get the best battery out of all of them..
[Galaxy Note 4 Unified Development] twistedumbrella:
Thanks. I have it set to run no higher than 768 with screen off, give a kick when you turn on, then stay below 1.9 until things get busy. I wanted to be able to test my game at 2.7 and not make posts at 2.5 lol.

So has everything gotten silly over in the F and G section? Seems like the days of not having to say "read the OP" may have ended.
[Galaxy Note 4 Unified Development] friedrich420:
And not only that.. Theres also "cooking wars", lots of jealousy and lots of stealing and lying.. Lots and lots of pretention as well.. Too many "holier than thou" fake moderator wannabies... I usually prefer the American forums..
[Galaxy Note 4 Unified Development] ktoonsez:
LOL, I hear that

+10000000000000000000000000000000
[Galaxy Note 4 Unified Development] friedrich420:
dudes [MENTION=593514]twistedumbrella[/MENTION] and [MENTION=4325945]ktoonsez[/MENTION] the source for the Edge is released!! Am i completely naive in thinking it wont be that hard or different? exact same processor...

Are you guys up of maybe collaborating into a project?? I prob have more time than you bc you guys as i like to always say you are "Real Developers" whereas im a "fantasy developer" lol ;)

If i get some time today after my sessions, ill give it a shot... begin with basic stuff initially and let you guys know hiw it goes.. i think i may have a tester in my forum...
[Galaxy Note 4 Unified Development] twistedumbrella:
I got lucky on timing with this one but I'm sure I could get in on it.
[Galaxy Note 4 Unified Development] friedrich420:
interesting.. its 3.10.9 base..

only 2 defconfig files...
[Galaxy Note 4 Unified Development] twistedumbrella:
[MENTION=4325945]ktoonsez[/MENTION] [MENTION=4401403]friedrich420[/MENTION] I present to you....

THE SOLUTION TO LAST_KMSG (I THINK...)

CONFIG_PRINTK_NOCACHE=y

because

[SIZE="4"]#ifdef CONFIG_PRINTK_NOCACHE[/SIZE]
static unsigned sec_log_save_size;
static phys_addr_t sec_log_save_base;
static phys_addr_t sec_log_reserve_base;
unsigned sec_log_reserve_size;
unsigned int *sec_log_irq_en;
[SIZE="3"]#ifdef CONFIG_SEC_LOG_LAST_KMSG[/SIZE]
#define LAST_LOG_BUF_SHIFT 19
static char *last_kmsg_buffer;
static unsigned last_kmsg_size;
[SIZE="3"]#endif /* CONFIG_SEC_LOG_LAST_KMSG */[/SIZE]
[SIZE="4"]#endif /* CONFIG_PRINTK_NOCACHE */[/SIZE]
[code]
[Galaxy Note 4 Unified Development] twistedumbrella:
I got irritated and started reading printk line by line. If I didn't stumble across the double end if the third time I would have been messing with the sysfs lol
[Galaxy Note 4 Unified Development] friedrich420:
hahaha :D

and then we would prob see you tomorrow!!
[Galaxy Note 4 Unified Development] twistedumbrella:
I'm hoping it doesn't happen to this one, but one of my threads with the source and how to build it got moved to Q&A for not having a binary download. I think that is the difference between what I am used to and how this site is now. Development used to be tutorials and source code, now it's downloads and legal requirements.
[Galaxy Note 4 Unified Development] friedrich420:
pffff.... im trying again not to comment... :rolleyes:
[Galaxy Note 4 Unified Development] twistedumbrella:
I know the feeling. Let's just say I used to be a fan until I saw this expert developer was the co-author of the xda hacker's manual and realized the people telling others how to develop were Android fans and not so much experts. "Download this, run this premade script, come back when you break something" is a direction I don't agree with.
[Galaxy Note 4 Unified Development] friedrich420:
Wow!! I understand exactly what you mean my man and i can def see the effort you make of changing that twisted ;) direction.. i hope ppl just realize that and leave us alone.. bc this thread can be a stop for anyone who wants to give a shot at compiling for this device.. if it goes to General section the only people who will end up not posting there, will be us 3...

Plus they can put whatever gem you give them to the sequel of that book ;)

p.s. i m proud of myself for supressing my urge to give you the "expert's" psych profile in one paragraph... it wasnt hard at all.. based on his profile photo and a quick look at his posts ... how many times a day you think he goes out of his way to let ppl know he is going to med school?? lol

---------- Post added at 06:29 PM ---------- Previous post was at 06:00 PM ----------

The Edge Source compiled easily without any errors and without then need for any changes (obviously except for makefile). I cant for the life of me figure how to make a dt.img for it though... no arch/arm/boot/dts/qcom folder as i expected.. no .dtb files...

should i make a repository and just push the source?
[Galaxy Note 4 Unified Development] ktoonsez:
Lol, I was going to start with that exact same flag, I spendt the last hour before I went to bed reading the printk.c file too. I was also eyeing up:

CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW

CONFIG_SEC_DEBUG_LOW_LOG

and looking at this function:

static int __init seclog_late_init(void)

was wondering if the

if (!sec_log_buf)
return 0;

was kicking in

So did either of you confirm that you are getting a last_kmsg now?
[Galaxy Note 4 Unified Development] friedrich420:
I cant yet bc i am an idiot.. i cant add it to my .config without getting overwritten when it compiles..
[Galaxy Note 4 Unified Development] twistedumbrella:
I havent yet but i was looking at the ram console. imoseyon added it and still had them, though. I wasnt sure if thats why i still wasnt getting one.
[Galaxy Note 4 Unified Development] ktoonsez:
That would make since since the scheduler code changed a bunch at 3.10.8, it almost seems like Samsung did a half ass update because the had the new scheduler init code implemented but did not update other pieces and as we saw they called it 3.10.0 in the Makefile. This is probably why u had trouble with bfq.
[Galaxy Note 4 Unified Development] ktoonsez:
From commits I have looked at, it always looked like the ramconsole has to be off in order for last_kmsg to work, but not positive.
[Galaxy Note 4 Unified Development] twistedumbrella:
たなたはたやたなたは!(^o^)!

anyhow have you tried adding it to the defconfig?

the shield has handwriting recognition, do we?
[Galaxy Note 4 Unified Development] friedrich420:
im embarrassed to say but not being embarraseed to say even the stupidest thing made me learn..

ok i manually added it to the 2 defconfigs (ap8084defconfig and the EUR one) and also to my .config in the root of my source which is how i change names enable things i added, change version names, etc and so own.. (like a substitute for make menuconfig)...

i dont know if this helps at all or its taking it to a different direction but this is a screenshot from menuconfig
[Galaxy Note 4 Unified Development] ktoonsez:
Looked at the code a little closer now that I am more awake and the

CONFIG_PRINTK_NOCACHE

is already enabled

Line 1714

#define CONFIG_PRINTK_NOCACHE
[Galaxy Note 4 Unified Development] ktoonsez:
Here is a test kernel for you guys to try, flash it up and see if that gets it:

http://goo.gl/AozPOf
[Galaxy Note 4 Unified Development] twistedumbrella:
The sec version, yes. The one in the ram_console Samsung stripped out, no.

It looks as though we were shorted a few source files when they did their thing.
[Galaxy Note 4 Unified Development] ktoonsez:
Yes I am seeing the same thing, I went back to look at my S3 code as I remember needing last_kmsg on AOSP all the time and was analyzing the "drivers/staging/android/" folder looking at ramconsole.c

In that test kernel above, I added this line to printk.c in the seclog_late_init() function that checks for "sec_log_buf", maybe its bailing out and not even init'ing

pr_alert("LAST_KMSG DID NOT INITIALIZE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");

Real curious of it shows up in dmesg, that would explain why it never creates it.
[Galaxy Note 4 Unified Development] ktoonsez:
[MENTION=593514]twistedumbrella[/MENTION] and [MENTION=4401403]friedrich420[/MENTION], definetely try this please, I have one confirmation that the last_kmsg file is THERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Galaxy Note 4 Unified Development] friedrich420:
its there my man!!!!!!! :)

how did you do it?? :)
[Galaxy Note 4 Unified Development] ktoonsez:
Here is what I added to defconfig (the last one, CONFIG_LOG_BUF_SHIFT, is just to increase the size of the log so its more informative):

+CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y

+CONFIG_PRINTK_NOCACHE=y

+CONFIG_PRINTK_PROCESS=y

+CONFIG_SEC_LOG=y

+CONFIG_LOG_BUF_SHIFT=21

What I am not sure of is does it actually give a true last_kmsg on a reboot so maybe try to force a random reboot and then lost the last_kmsg so I can see whats in it.
[Galaxy Note 4 Unified Development] twistedumbrella:
I should probably bookmark that for when I'm done playing with ram console lol

Looks like

CONFIG_PRINTK_PROCESS=y

CONFIG_SEC_LOG=y

Are the only two not in the stock one.
[Galaxy Note 4 Unified Development] friedrich420:
im sorry but i have to ask .. what defconfig are you guys looking at? :(
[Galaxy Note 4 Unified Development] ktoonsez:
Even better would be put it in the OP somewhere for quick reference. Im gonna try on my S5 tomorrow if I get a chance to see if it works there too:good:
[Galaxy Note 4 Unified Development] twistedumbrella:
arch/arm/configs/apq8084_sec_defconfig

I'm still unsure if you may also need CONFIG_SEC_DEBUG_LOW_LOG
[Galaxy Note 4 Unified Development] ktoonsez:
Put it in the main one:

arch/arm/configs/apq8084_sec_defconfig

And please try to get a random reboot and post up the last_kmsg
[Galaxy Note 4 Unified Development] friedrich420:
i gave it to 2 of my team members to try to mess it up as much as they can my man.. i hope i have something soon..
[Galaxy Note 4 Unified Development] ktoonsez:
Cooooooool, what I am worried about is that the CONFIG_PRINTK_PROCESS flag is make the kernel constantly writing to the last_kmsg so a randome reboot whould just end up writing right over top of it when a reboot occurs, cant be certain though, guess we will see. The qucikiest way to get random reboot is to set the Min Mhz to higher than stock Max and then the ROM starts fighting with it and causes a reboot almost every time.
[Galaxy Note 4 Unified Development] ktoonsez:
[MENTION=593514]twistedumbrella[/MENTION]

So I was able to track down where my SetExtraCores function is crashing at using an ass load of pr_alerts last night:

if (!cpu_online(cpu)) cpu_up(cpu);

Seem that maybe Linux 3.10 is not allowing calls to one of those functions (probably the cpu_up()) in the cpufreq.c code, could not believe it when I saw the log, I have 2 pr_alerts surrounding that code and it printed the first but not the second, that one is going to haunt me forever, lol. Not sure what Im gonna try next, that code was so handy and now Im worried that it is gonna cause issue in my ktoonservativeq code too since I use those functions everywhere:eek:
[Galaxy Note 4 Unified Development] Pafcholini:
Guys, great thread! In those days I'll have the note 4! I'm glad to see all of you here.

Powered by ET
[Galaxy Note 4 Unified Development] twistedumbrella:
http://xdaforums.com/showpost.php?p=46388128&postcount=1
[Galaxy Note 4 Unified Development] ktoonsez:
Just had a tester verify that the last_kmsg is indeed working, after he had a random reboot it is showing me the error dump :D :good: :highfive:
[Galaxy Note 4 Unified Development] twistedumbrella:
And that second log_low tag wasn't necessary but I'm interested what it does. I notice a lot more lag with logs working.
[Galaxy Note 4 Unified Development] ktoonsez:
So the only ones u added was?

+CONFIG_PRINTK_PROCESS=y

+CONFIG_SEC_LOG=y
[Galaxy Note 4 Unified Development] twistedumbrella:
I added the no_cache_low once, just not CONFIG_SEC_DEBUG_LOW_LOG

It does seem to reduce the lag having it. I think it is a buffer clearing function flag, at least that's the impression I got from what it flags.
[Galaxy Note 4 Unified Development] ffolkes:
Thanks but I'm not sure what that is relevant to.
[Galaxy Note 4 Unified Development] twistedumbrella:
That's what came up when searching for the error. The stock thermal doesn't do that, it hasn't been reported as an issue with any of the kernels by any other users, so it sounds like more of an issue specific to the exact device than the code.
[Galaxy Note 4 Unified Development] ffolkes:
Turns out I had outdated configs and was using the wrong intellithermal. All is well now.
[Galaxy Note 4 Unified Development] friedrich420:
For what is worth i managed to enable the last_kmsg to my kernel... (finally.. what a moron..)

I added those entries in the apq8084-sec-defconfig but what really gets enabled (at least on my build) is these 2:

CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y

CONFIG_PRINTK_PROCESS=y

Other than that, the other 3 entries:

CONFIG_PRINTK_NOCACHE=y

CONFIG_SEC_LOG=y

CONFIG_LOG_BUF_SHIFT=21

are no where in my final .config.. but the last_kmsg now is there in the proc folder..

im confused...
[Galaxy Note 4 Unified Development] twistedumbrella:
That about sums it up lol
[Galaxy Note 4 Unified Development] friedrich420:
sooooo.... you only need these 2?? :p

CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y

CONFIG_PRINTK_PROCESS=y

p.s. you were right..it does get laggier after enabling last_kmsg..
[Galaxy Note 4 Unified Development] twistedumbrella:
Add CONFIG_SEC_DEBUG_LOW_LOG and see if the lag goes away for you
[Galaxy Note 4 Unified Development] friedrich420:
i get a message when it begins to compile that it gets overwritten..

im lost at how to make it stay there.. the other 2 could be enabled bc they were already there in the sec_defconfig (just not enabled).. any other one thats not there or i have done nothing to add it as an option gets overwritten when the build begins..
[Galaxy Note 4 Unified Development] twistedumbrella:
#
# Samsung Debugging Feature
#
CONFIG_SEC_DEBUG=y
CONFIG_SEC_DEBUG_SCHED_LOG=y
# CONFIG_SEC_DEBUG_SEMAPHORE_LOG is not set
# CONFIG_SEC_FILE_LEAK_DEBUG is not set
CONFIG_SEC_LOGGER_BUFFER_EXPANSION=y
CONFIG_SEC_LOGGER_BUFFER_EXPANSION_SIZE=2
CONFIG_SEC_DEBUG_USER=y
CONFIG_SEC_DEBUG_IRQ_EXIT_LOG=y
# CONFIG_SEC_DEBUG_MSG_LOG is not set
CONFIG_SEC_DEBUG_SUBSYS=y
# CONFIG_SEC_DEBUG_DCVS_LOG is not set
# CONFIG_SEC_MONITOR_BATTERY_REMOVAL is not set
# CONFIG_SEC_DEBUG_FUELGAUGE_LOG is not set
[B]CONFIG_SEC_DEBUG_LOW_LOG=y[/B]
# CONFIG_SEC_DEBUG_MDM_FILE_INFO is not set
# CONFIG_SEC_DEBUG_DOUBLE_FREE is not set
CONFIG_SEC_LOG_LAST_KMSG=y
[B]CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y
CONFIG_PRINTK_PROCESS=y[/B]

That's my .config after a compile, so it should be getting added if you added it to the config in arch/arm/configs/

CONFIG_LOG_BUF_SHIFT can most likely be accomplished through CONFIG_SEC_LOGGER_BUFFER_EXPANSION_SIZE since the log size is multiplied by that value, so you would make it

CONFIG_SEC_LOGGER_BUFFER_EXPANSION_SIZE=4

or something along those lines
[Galaxy Note 4 Unified Development] friedrich420:
absolutely its there :)

i misread the name of the entry before .. i thought you were referring to the same one as kt from yesterday..

here's my .config without the 3 entries enabled..

[B]# CONFIG_SEC_DEBUG_LOW_LOG is not set[/B]
# CONFIG_SEC_DEBUG_MDM_FILE_INFO is not set
# CONFIG_SEC_DEBUG_DOUBLE_FREE is not set
CONFIG_SEC_LOG_LAST_KMSG=y
#[B] CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW is not set
# CONFIG_PRINTK_PROCESS is not set[/B]

ill readd it (i removed it from my last release bc of the lag) and ill report back ;)

---------- Post added at 05:54 PM ---------- Previous post was at 05:43 PM ----------

Nice my man!! No lag whatsoever and the last_kmsg is there!!

so this should be it?

Add in apq8084_sec_defconfig the following 3 entries

[B]CONFIG_SEC_DEBUG_NOCACHE_LOG_IN_LEVEL_LOW=y
CONFIG_PRINTK_PROCESS=y
CONFIG_SEC_DEBUG_LOW_LOG=y[/B]
[Galaxy Note 4 Unified Development] twistedumbrella:
Yup. That's the ticket lol
[Galaxy Note 4 Unified Development] twistedumbrella:
This may be of some use in the future: https://github.com/StarKissed/stark...e89cd4f26c54d1211/config/trlte_diff_defconfig
[Galaxy Note 4 Unified Development] friedrich420:
Lets begin the chapter "Faux Sound Control on the Note 4" here :)

This is my last_kmsg after adding faux sound, opening the app and getting an immediate sudden death.. it wasnt even a reboot this time.. i had to take out the battery and boot again..

https://www.dropbox.com/s/upcyt9bp7c74sfv/last_kmsg?dl=0

p.s. i saw that Faux is beginning work on a Note 4 kernel but his source is at a very early stage atm..

https://github.com/faux123/Note_4_SM-N910T/commits/kk444
[Galaxy Note 4 Unified Development] twistedumbrella:
So he took the Android 3.10 kernel, merged the Samsung source on top of it, and called "msm: fix in-tree compilation for headers" both "drivers/scsi/ufs/ufs_test.c: GCC 4.8.x fix up" and "drivers/video/msm/mdss/mdss_mdp_trace.h: fix derpy code from Samsung" when it was neither required for 4.8.x or "stupid" code. It was much better to compile the kernel in the out folder until his intelli-thermal wouldn't allow it. If anything is derpy code, it's that.
[Galaxy Note 4 Unified Development] friedrich420:
i was shocked when i immediately saw 1000+ commits :o

i figured it eventually...

btw is that a good idea for me to prob by pass the post 3.10.5 linux update problems?

doing it like that? using 3.10 at its entirety and then merging the F Source? (im not sure how to merge correctly i have to admit...)

btw, im sorry about my stupid f@#$%# thread and the freaking abundance of idiots over there.. they even told me to suck a #%$^ today.. im tempted to say screw it and just keep it on my forum my man..
[Galaxy Note 4 Unified Development] twistedumbrella:
I don't know if it'll help doing it that way. I am beginning to realize that faux's kernels are only really good for faux's contributions. I merged the Android 3.10 kernel before and chances are a lot of his "Fix ups for GCC 4.8.x" are actually fix ups for the mess he made.

I saw the thread. I wouldn't worry about it. The people freaking out are just random users with nothing better to do. I once had a guy curse me out for telling him his error sounded like one that was already reported. I laughed at him.
[Galaxy Note 4 Unified Development] friedrich420:
i try to laugh it off as much as i can..

anyway, you are ok with 3.10.13 my man, correct?

i mean it boots for you?

Still no go for me even with just cherry-picking your linux related commits..

About faux sound..

if you saw the log? does make any click to you? i couldnt tell anything from it but im not that good in reading them tbh
[Galaxy Note 4 Unified Development] twistedumbrella:
I still have to look at it. I got wrapped up in class stuff that set me behind and I'm trying to recover that. It should be done soon, though.
[Galaxy Note 4 Unified Development] friedrich420:
i never mean to put any pressure on you my man but you have no idea how good it is for me to be able to talk with a real developer ;)

Take your time my man.. i have to go in half hour also ... hopefully we can figure out something later tonight (my tonight bc your tonight is my 4th-5th dream..)

am i too naive in thinking it could be similar logic to what you did to fix mdnie?

Like applying the correct sound values the same way you applied the correct color values?

so far being noobish in my questions/ comments seemed to have helped us, so im not changing tactics lol
[Galaxy Note 4 Unified Development] ktoonsez:
I'll also try to look at it late tonight and see what it crashed on from my work laptop.
[Galaxy Note 4 Unified Development] friedrich420:
im so sorry my man!! :(

that really sucks about your computer!!

edit: the faux implementation that i used to get that log, was exactly the same as your s5 one my man.. i did all kinds of variations but i decided to try that one as well..
[Galaxy Note 4 Unified Development] twistedumbrella:
[MENTION=4325945]ktoonsez[/MENTION] must have heard you call him, haha. The real developer has arrived!

It is quite possible that is what the issue is. I'm just starting to look at it now.
[Galaxy Note 4 Unified Development] friedrich420:
Lol :D i thought we wouldnt see kt for a while after his pc died on him...
[Galaxy Note 4 Unified Development] ktoonsez:
Lol :eek: Following the threads with my phone mostly. Killing me not having a pc at home to work on code. Flying to California for work for the day and gonna make a run into Frys electronics and see what they got :D.
[Galaxy Note 4 Unified Development] twistedumbrella:
Every time someone says Frys I picture some orange haired guy going "Not sure if good price.. Or is discontinued"
[Galaxy Note 4 Unified Development] twistedumbrella:
Nothing jumps out in that log that says "I'm broken and sound related" when I look at it. I'm going to try getting a few more and see if it finally prints in bold or something